package com.fll.fangyiuser.dao;

import com.fll.fangyicommon.entity.user.Friend;
import com.fll.fangyicommon.entity.user.User;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author fll
 * @create 2023/2/27
 */
@Mapper
public interface FriendDao {

    /**
     * 根据两个用户id验证是否为好友
     * @param userId
     * @param friendId
     * @return
     */
    Friend verifyFriend(Integer userId,Integer friendId);

    /**
     * 添加好友插入两条记录（而且要么同时成功要么同时失败）
     * @param friend
     * @return
     */
    Integer insert(Friend friend);

    /**
     * 根据用户id查询Friend
     * @param userId
     * @param state
     * @return
     */
    List<Friend> getFriendByUserId(Integer userId,Integer state);
    List<Integer> getFriend(Integer userId,Integer state);

    /**
     * 同意好友申请
     * @param friendId
     * @return
     */
    Integer agreeFriend(Integer friendId, Integer userId);

    /**
     * 删除好友
     * @param friendId
     * @param userId
     * @return
     */
    Integer deleteFriend(Integer userId, Integer friendId);

    /**
     * 获取用户添加的好友数
     * @param userId
     * @return
     */
    Integer getFriendCount(Integer userId);

    /**
     * 查询登录用户所有好友id
     * @param userId
     * @return
     */
    List<Integer> getFriendByRpc(Integer userId);
}
